import sys
import os
import matplotlib
from PyQt5.QtWidgets import QApplication

# 导入核心模块
from utils.helper import check_required_libs, logger
from db.operations import init_database
from ui.main_window import RPAManager
from config.constants import DB_NAME, LOG_FILE


if __name__ == "__main__":
    # 1. 中文显示配置（解决matplotlib中文乱码）
    matplotlib.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
    matplotlib.rcParams["axes.unicode_minus"] = False

    # 2. 确保日志/数据库目录存在
    for dir_path in [os.path.dirname(LOG_FILE), os.path.dirname(DB_NAME)]:
        if not os.path.exists(dir_path):
            os.makedirs(dir_path)

    # 3. 检查依赖库
    if not check_required_libs():
        sys.exit(1)

    # 4. 初始化数据库
    if not init_database():
        sys.exit(1)

    # 5. 启动UI应用
    app = QApplication(sys.argv)
    app.setStyle('Fusion')  # 跨平台统一风格
    window = RPAManager()
    window.show()
    logger.info("RPA管理工具启动成功")
    sys.exit(app.exec_())